package thread01;

/**
 * 获取一个线程相关信息的方法
 */
public class ThreadInfoDemo {
    public static void main(String[] args) {
        //Thread t = new Thread("nice")
        Thread t = new Thread() { //Thread实例化是可以自行指定名字，若不指定名字则使用系统分配的名字(通常都不自行指定名字)
            public void run() {
                /*
                String getName()
                获取线程名字
                我们定义的线程若没有显示的指定名字时，系统会分配一个名字，格式：Thread-X
                X是一个数字
                 */
                String name = this.getName();
                System.out.println(name);

                /*
                可以作为ID使用的值必须同时具备两个要求：
                1：非空
                2：唯一
                通常id都是由系统分配，而不是人为干预
                 */
                long id = this.getId(); //id:唯一标识
                System.out.println(id);

                /*
                int getPriority()
                获取线程的优先级
                 */
                int priority = this.getPriority();
                System.out.println(priority);

                boolean isInterrupted = this.isInterrupted(); //线程是否被中断
                boolean isDaemon = this.isDaemon(); //线程是否为守护线程
                boolean isAlive = this.isAlive(); //线程是否还活着
                System.out.println("是否被中断:" + isInterrupted);
                System.out.println("是否是守护线程：" + isDaemon);
                System.out.println("是否还活着：" + isAlive);
            }
        };
        t.start();
    }
}
